package com.mes.cloud.service.impl;

import com.mes.cloud.service.ValidatorService;
import com.mes.cloud.util.VadatorParam;
import org.springframework.stereotype.Service;

import javax.validation.constraints.NotNull;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * @ProjectName: cloud
 * @Package: com.mes.cloud.service.impl
 * @ClassName: RangeValidatorServiceImpl
 * @Author: xhy
 * @Description: 判断view页面输入值是否再该字段规定的范围内
 * range[x,y]表示输入x到y之间的整数值
 * @Date: 2019年9月23日15:17:54
 * @Version: 1.0
 */
@Service("range")
public class RangeValidatorServiceImpl implements ValidatorService {
    private static final Pattern PATTERNS = Pattern.compile("^-?[1-9]\\d*$");
    @Override
    public String validator(@NotNull String type, @NotNull Object o, Map<String, Object> queryMap) {
        //由于这里只是校验是否为空 可以在这里进行直接校验，
        // 其他的需要逻辑的可以同下面方法进行验证
        //下面这个方法是最终的校验方法 如果有动态的
        Matcher m = PATTERNS.matcher(o.toString());
        if (!m.matches()){
            return "请输入整数";
        }
        return VadatorParam.getLengthAndRange(type,o,false);
    }
}
